package com.core.zyyz.amc.modules.mapper;

import java.util.List;
import java.util.Map;

import com.core.zyyz.amc.modules.domain.AmcCodeManage;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

/**
 * 功能编号管理Mapper接口
 *
 * @author LiuFushun
 * @date 2024-11-05
 */
@Repository
public interface AmcCodeManageMapper {
    /**
     * 查询功能编号管理
     *
     * @param functionCode 功能编号管理主键
     * @return 功能编号管理
     */
    public AmcCodeManage selectAmcCodeManageByFunctionCode(String functionCode);

    public int selectCountFunctionCode(AmcCodeManage amcCodeManage);

    /**
     * 查询功能编号管理
     *
     * @param codeManageId 功能编号管理主键
     * @return 功能编号管理
     */
    public AmcCodeManage selectAmcCodeManageByCodeManageId(String codeManageId);

    /**
     * 查询功能编号管理列表
     *
     * @param amcCodeManage 功能编号管理
     * @return 功能编号管理集合
     */
    public List<AmcCodeManage> selectAmcCodeManageList(AmcCodeManage amcCodeManage);

    /**
     * 新增功能编号管理
     *
     * @param amcCodeManage 功能编号管理
     * @return 结果
     */
    public int insertAmcCodeManage(AmcCodeManage amcCodeManage);

    /**
     * 修改功能编号管理
     *
     * @param amcCodeManage 功能编号管理
     * @return 结果
     */
    public int updateAmcCodeManage(AmcCodeManage amcCodeManage);

    /**
     * 删除功能编号管理
     *
     * @param codeManageId 功能编号管理主键
     * @return 结果
     */
    public int deleteAmcCodeManageByCodeManageId(String codeManageId);

    /**
     * 批量删除功能编号管理
     *
     * @param codeManageIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteAmcCodeManageByCodeManageIds(String[] codeManageIds);

    /**
     * 查询功能定义列表（下拉框内容）
     *
     * @param param-configType 用来区分base_business_node查的哪张表
     * @param param-functionName 页面搜索值
     * @return 功能页面配置主
     */
    public List<AmcCodeManage> queryFunctionList(AmcCodeManage param);

    Integer getSeq(@Param("param") Map<String ,Object> map);
    Integer insertSysCodeFactory(@Param("param") Map<String ,Object> map);
    Integer updateCodeSeq(@Param("param") Map<String ,Object> map);
}
